home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: MegaDisc / MegaDisc 33 (1993-04)(MegaDisc Digital Publishing)(AU)(Disk 2 of 2).zip / MegaDisc 33 (1993-04)(MegaDisc Digital Publishing)(AU)(Disk 2 of 2).adf / Reviews / DICE_V2.07 / DICE_V2.07
Text File  |  1993-04-14  |  4KB  |  84 lines

  1.  
  2.  
  3.                      DICE 2.07.54R (25th Jan 1993 release)  
  4.  
  5.  
  6.                               by Peter Thompson
  7.  
  8.  
  9.    || 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||
  10.  
  11.  
  12.    Three C Choices
  13.  
  14.    If you want to program in C on the Amiga, you have three choices. You can
  15.   find one of the P.D. C compilers in the Megadisc library, and install
  16.   that; you can spend several hundred dollars on a commercial compiler; or
  17.   you can get DICE for US$50, and obtain US$50 off its commercial release
  18.   (if and when this occurs).
  19.  
  20.    In the meantime. you have an ANSI C compiler with special extensions for
  21.   the Amiga; for example, you can use the _chip qualifier to force an object
  22.   (e.g. an array of pre-initialised bitmap data) to be placed in chip ram.
  23.   It also has a few features that allow easier porting of Un*x programs; for
  24.   instance, special link libraries that use Un*x path conventions and a
  25.   special compiler option that recognises a common (but non-ANSI) idiom for
  26.   declaring global variables.
  27.  
  28.    Workbench 1.3 and 2.x header files are included. Workbench 3.0 header
  29.   files and libraries are not yet included, but there is an entry in the
  30.   Makefile for 3.0 libraries; I assume that eventually they'll be there. I
  31.   don't feel any real sense of urgency, as I'm still running 1.3.
  32.  
  33.    This release has been much improved from the one I got when I registered;
  34.   about two dozen bugs are now missing from the compiler, and DMake has gone
  35.   from 0.2? beta to 2.1, and now works much much better. It also now comes
  36.   set up on floppies with a special file system instead of compressed in
  37.   several LARGE lha archives. The file system is a handler that decompresses
  38.   and compresses files on the fly; it fitted about 1.4Mb onto the 880k boot
  39.   disk, enough to let you run DICE from a single floppy (albeit slowly).
  40.  
  41.    Now that I have 2.5Mb I don't really need to worry about such things, so
  42.   I've set up a disk with several lha archives containing header files and
  43.   different flavours of link library, along with an initialisation script.
  44.   This allows me to store all the interesting documentation (powerpacked),
  45.   uncompressed some utilities and all compiler binaries, all 1.3 and 2.0
  46.   header files, 1.3 and 2.0 link libraries (these compress down to about
  47.   10-20% of original size), and several versions of the c and math libraries
  48.   (30-40% original size) on a single floppy.
  49.  
  50.    I make the compiler and DMake resident (about 265k) for speed and
  51.   convenience; I haven't had any crashes yet, even though I'm using Ares and
  52.   the ARP shell. Loading everything (all 1.3 and standard headers, compiler,
  53.   and a c.lib and m.lib) takes about 750k, and about another 200k is used
  54.   while compiling. 1 Mb users would have trouble with using this particular
  55.   setup; however, it is quite possible to run the whole thing from a pair of
  56.   floppies, as I used to do. I have compiled two programs (cjpeg and djpeg)
  57.   totalling about 550k of source code and 100k of executable code entirely in
  58.   memory; that was about at the limit, particularly with 100k of 2.0
  59.   libraries and DirWork running.
  60.  
  61.    The compilation speed is not fast enough for me, but as fast as I expect
  62.   from an A500. I've used minicomputer compilers with longer compilation
  63.   times; admittedly, there were 60 other people using the same computer, and
  64.   it did optimise much better, but those are minor details. Besides, the use
  65.   of pre-compiled header files is a nice trick that cuts down the time it
  66.   takes to compile really large programs. If I could be bothered, I would
  67.   create a header file amiga.h that includes all system header files, use the
  68.   compiler option for creating precompiled header files, and just #include
  69.   "amiga.h" whenever I wanted to use an OS structure.
  70.  
  71.    Code speed seems reasonable, although I haven't had anything to compare it
  72.   with; I haven't seen any major inefficiencies when looking at executable
  73.   files with the disassembler. DICE tries to put variables in registers for
  74.   speed according to usage, and seems to do a fairly good job.
  75.  
  76.    In summary; it's not as good as a commercial compiler, but for US$50 with
  77.   a free update, it's good enough to compile programs with.
  78.  
  79.  
  80.    || 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||| 33 ||
  81.  
  82.  
  83.  
  84.